package com.sikaryofficial.backend.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sikaryofficial.backend.domain.dto.req.EvaluateReplyListReq;
import com.sikaryofficial.backend.domain.dto.req.EvaluateReplyReq;
import com.sikaryofficial.backend.domain.dto.resp.EvaluateReplyDTO;
import com.sikaryofficial.backend.domain.entity.BrandTasteEvaluateReply;
import com.sikaryofficial.backend.domain.vo.EvaluateReplyCount;

import java.util.List;

/**
 * 品牌口味评价回复Service接口
 *
 * @author qinjinyuan
 * @date 2023-11-03
 */
public interface IBrandTasteEvaluateReplyService extends IService<BrandTasteEvaluateReply> {

    /**
     * 回复分页列表
     *
     * @param customerPage
     * @param req
     * @return
     */
    IPage<EvaluateReplyDTO> replyList(Page<EvaluateReplyDTO> customerPage, EvaluateReplyListReq req);

    /**
     * 删除跟评
     *
     * @param evaluateIds
     * @return
     */
    boolean removeReply(Long[] evaluateIds);

    /**
     * 回复保存
     * @param evaluateReplyReq
     * @return
     */
    EvaluateReplyDTO saveReply(EvaluateReplyReq evaluateReplyReq);

    /**
     * 分组统计评论下ID对应的回复数量
     * @param evaluateIds
     * @return
     */
    List<EvaluateReplyCount> countByEvaluateId(List<Long> evaluateIds);

}
